7771
19011
Lukket. Dette spørsmålet oppfyller ikke retningslinjene for Stack Overflow. Det aksepteres for øyeblikket ikke svar.
Vil du forbedre dette spørsmålet? Oppdater spørsmålet slik at det er temaet for Stack Overflow.
Stengt for 4 år siden.
Forbedre dette spørsmålet
Jeg bygger en skinnende app som behandler flere tekstfiler valgt av en bruker.
Resultatet er en enorm dataramme med millioner av rader og titalls kolonner.
Jeg er nå interessert i å tillate en bruker å interaktivt filtrere rader, velge kolonner og oppsummere kolonner (ved å velge fra en liste over funksjoner som middel, sd, maks, min, sum osv ...). Resultatet ville være en mindre dataramme som oppsummerer dataene per brukervalg - i utgangspunktet må jeg lage en GUI som implementerer en grunnleggende funksjonalitet i dplyr-biblioteket.
Generelt vet jeg hvordan jeg gjør det ved å opprette en rekke GUI-elementer manuelt og mate dem inn i en serverfunksjon med et antall dplyr-kommandoer. Siden dette ser ut til å være en ganske standard funksjonalitet (GUI som filtrerer og oppsummerer en dataramme), lurer jeg på om det er noe "utenfor hyllen" jeg kan bruke enten AS IS eller som utgangspunkt . 
Jeg vet at du sa at rpivotTable ikke var helt det du er ute etter, men jeg tror det kan konfigureres til å gjøre noe av det tunge løftet,
Her er et eksempel (ved hjelp av rpivotTable for manipulering, DT for å vise data.frame, rvest for å analysere innerHTML fra DOM, det kan være et bedre dataformat for å sende bordobjektet fra klientsiden, men dette er et bevis på konseptet ):
ui.R
bibliotek (skinnende)
bibliotek (DT)
bibliotek (rpivotTable)
FullPage <- fluidPage (
DT :: dataTableOutput ('aSummaryTable'),
rpivotTableOutput ('RESULTATER')
)
Helside
server.R:
bibliotek (skinnende)
bibliotek (rpivotTable)
bibliotek (DT)
bibliotek (rvest)
funksjon (inngang, utgang, økt) {
# Lag noen eksempeldata
qbdata <- reaktiv ({
expand.grid (BREV, 1: 3)
})
# Rengjør html og lagre som reaktivt
summarydf <- eventReactive (input $ myData, {
legg inn $ myData%>%
read_html%>%
html_table (fill = TRUE)%>%
# Det viser seg at det er to tabeller i en dreietabel, vi vil ha den andre
. [[2]]
})
# vis df som DT :: datatabell
output $ aSummaryTable <- DT :: renderDataTable ({
datatabell (summarydf (), etternavn = FALSE)
})
# Når konfigurasjonen oppdateres, kan du ringe tilbake med innholdet i tabellen
output $ RESULTAT <- renderRpivotTable ({
rivottabell (
qbdata (),
onRefresh =
htmlwidgets :: JS ("funksjon (config) {
Shiny.onInputChange ('myData', document.getElementById ('RESULTATER'). InnerHTML);
} ")
)
})
}
|
Er ikke svaret du leter etter? Bla gjennom andre spørsmål merket r dplyr skinnende eller still ditt eget spørsmål.